/*
 * An XML document type.
 * Localname: transition
 * Namespace: urn:jbpm.org:jpdl-3.2
 * Java type: x2.orgJpdl3.jbpm.TransitionDocument
 *
 * Automatically generated - do not modify.
 */
package x2.orgJpdl3.jbpm.impl;
/**
 * A document containing one transition(@urn:jbpm.org:jpdl-3.2) element.
 *
 * This is a complex type.
 */
public class TransitionDocumentImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements x2.orgJpdl3.jbpm.TransitionDocument
{
    private static final long serialVersionUID = 1L;
    
    public TransitionDocumentImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName TRANSITION$0 = 
        new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "transition");
    
    
    /**
     * Gets the "transition" element
     */
    public x2.orgJpdl3.jbpm.TransitionDocument.Transition getTransition()
    {
        synchronized (monitor())
        {
            check_orphaned();
            x2.orgJpdl3.jbpm.TransitionDocument.Transition target = null;
            target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition)get_store().find_element_user(TRANSITION$0, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * Sets the "transition" element
     */
    public void setTransition(x2.orgJpdl3.jbpm.TransitionDocument.Transition transition)
    {
        synchronized (monitor())
        {
            check_orphaned();
            x2.orgJpdl3.jbpm.TransitionDocument.Transition target = null;
            target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition)get_store().find_element_user(TRANSITION$0, 0);
            if (target == null)
            {
                target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition)get_store().add_element_user(TRANSITION$0);
            }
            target.set(transition);
        }
    }
    
    /**
     * Appends and returns a new empty "transition" element
     */
    public x2.orgJpdl3.jbpm.TransitionDocument.Transition addNewTransition()
    {
        synchronized (monitor())
        {
            check_orphaned();
            x2.orgJpdl3.jbpm.TransitionDocument.Transition target = null;
            target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition)get_store().add_element_user(TRANSITION$0);
            return target;
        }
    }
    /**
     * An XML transition(@urn:jbpm.org:jpdl-3.2).
     *
     * This is a complex type.
     */
    public static class TransitionImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements x2.orgJpdl3.jbpm.TransitionDocument.Transition
    {
        private static final long serialVersionUID = 1L;
        
        public TransitionImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType);
        }
        
        private static final javax.xml.namespace.QName DESCRIPTION$0 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "description");
        private static final javax.xml.namespace.QName CONDITION$2 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "condition");
        private static final javax.xml.namespace.QName ACTION$4 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "action");
        private static final javax.xml.namespace.QName SCRIPT$6 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "script");
        private static final javax.xml.namespace.QName CREATETIMER$8 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "create-timer");
        private static final javax.xml.namespace.QName CANCELTIMER$10 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "cancel-timer");
        private static final javax.xml.namespace.QName MAIL$12 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "mail");
        private static final javax.xml.namespace.QName EXCEPTIONHANDLER$14 = 
            new javax.xml.namespace.QName("urn:jbpm.org:jpdl-3.2", "exception-handler");
        private static final javax.xml.namespace.QName TO$16 = 
            new javax.xml.namespace.QName("", "to");
        private static final javax.xml.namespace.QName NAME$18 = 
            new javax.xml.namespace.QName("", "name");
        
        
        /**
         * Gets a List of "description" elements
         */
        public java.util.List<java.lang.String> getDescriptionList()
        {
            final class DescriptionList extends java.util.AbstractList<java.lang.String>
            {
                public java.lang.String get(int i)
                    { return TransitionImpl.this.getDescriptionArray(i); }
                
                public java.lang.String set(int i, java.lang.String o)
                {
                    java.lang.String old = TransitionImpl.this.getDescriptionArray(i);
                    TransitionImpl.this.setDescriptionArray(i, o);
                    return old;
                }
                
                public void add(int i, java.lang.String o)
                    { TransitionImpl.this.insertDescription(i, o); }
                
                public java.lang.String remove(int i)
                {
                    java.lang.String old = TransitionImpl.this.getDescriptionArray(i);
                    TransitionImpl.this.removeDescription(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfDescriptionArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new DescriptionList();
            }
        }
        
        /**
         * Gets array of all "description" elements
         * @deprecated
         */
        public java.lang.String[] getDescriptionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<org.apache.xmlbeans.XmlString> targetList = new java.util.ArrayList<org.apache.xmlbeans.XmlString>();
                get_store().find_all_element_users(DESCRIPTION$0, targetList);
                java.lang.String[] result = new java.lang.String[targetList.size()];
                for (int i = 0, len = targetList.size() ; i < len ; i++)
                    result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getStringValue();
                return result;
            }
        }
        
        /**
         * Gets ith "description" element
         */
        public java.lang.String getDescriptionArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) a List of "description" elements
         */
        public java.util.List<org.apache.xmlbeans.XmlString> xgetDescriptionList()
        {
            final class DescriptionList extends java.util.AbstractList<org.apache.xmlbeans.XmlString>
            {
                public org.apache.xmlbeans.XmlString get(int i)
                    { return TransitionImpl.this.xgetDescriptionArray(i); }
                
                public org.apache.xmlbeans.XmlString set(int i, org.apache.xmlbeans.XmlString o)
                {
                    org.apache.xmlbeans.XmlString old = TransitionImpl.this.xgetDescriptionArray(i);
                    TransitionImpl.this.xsetDescriptionArray(i, o);
                    return old;
                }
                
                public void add(int i, org.apache.xmlbeans.XmlString o)
                    { TransitionImpl.this.insertNewDescription(i).set(o); }
                
                public org.apache.xmlbeans.XmlString remove(int i)
                {
                    org.apache.xmlbeans.XmlString old = TransitionImpl.this.xgetDescriptionArray(i);
                    TransitionImpl.this.removeDescription(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfDescriptionArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new DescriptionList();
            }
        }
        
        /**
         * Gets array of all "description" elements
         * @deprecated
         */
        public org.apache.xmlbeans.XmlString[] xgetDescriptionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<org.apache.xmlbeans.XmlString> targetList = new java.util.ArrayList<org.apache.xmlbeans.XmlString>();
                get_store().find_all_element_users(DESCRIPTION$0, targetList);
                org.apache.xmlbeans.XmlString[] result = new org.apache.xmlbeans.XmlString[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets (as xml) ith "description" element
         */
        public org.apache.xmlbeans.XmlString xgetDescriptionArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return (org.apache.xmlbeans.XmlString)target;
            }
        }
        
        /**
         * Returns number of "description" element
         */
        public int sizeOfDescriptionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(DESCRIPTION$0);
            }
        }
        
        /**
         * Sets array of all "description" element
         */
        public void setDescriptionArray(java.lang.String[] descriptionArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(descriptionArray, DESCRIPTION$0);
            }
        }
        
        /**
         * Sets ith "description" element
         */
        public void setDescriptionArray(int i, java.lang.String description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.setStringValue(description);
            }
        }
        
        /**
         * Sets (as xml) array of all "description" element
         */
        public void xsetDescriptionArray(org.apache.xmlbeans.XmlString[]descriptionArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(descriptionArray, DESCRIPTION$0);
            }
        }
        
        /**
         * Sets (as xml) ith "description" element
         */
        public void xsetDescriptionArray(int i, org.apache.xmlbeans.XmlString description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(description);
            }
        }
        
        /**
         * Inserts the value as the ith "description" element
         */
        public void insertDescription(int i, java.lang.String description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = 
                    (org.apache.xmlbeans.SimpleValue)get_store().insert_element_user(DESCRIPTION$0, i);
                target.setStringValue(description);
            }
        }
        
        /**
         * Appends the value as the last "description" element
         */
        public void addDescription(java.lang.String description)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(DESCRIPTION$0);
                target.setStringValue(description);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "description" element
         */
        public org.apache.xmlbeans.XmlString insertNewDescription(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().insert_element_user(DESCRIPTION$0, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "description" element
         */
        public org.apache.xmlbeans.XmlString addNewDescription()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(DESCRIPTION$0);
                return target;
            }
        }
        
        /**
         * Removes the ith "description" element
         */
        public void removeDescription(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(DESCRIPTION$0, i);
            }
        }
        
        /**
         * Gets a List of "condition" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition> getConditionList()
        {
            final class ConditionList extends java.util.AbstractList<x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition>
            {
                public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition get(int i)
                    { return TransitionImpl.this.getConditionArray(i); }
                
                public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition set(int i, x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition o)
                {
                    x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition old = TransitionImpl.this.getConditionArray(i);
                    TransitionImpl.this.setConditionArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition o)
                    { TransitionImpl.this.insertNewCondition(i).set(o); }
                
                public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition remove(int i)
                {
                    x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition old = TransitionImpl.this.getConditionArray(i);
                    TransitionImpl.this.removeCondition(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfConditionArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new ConditionList();
            }
        }
        
        /**
         * Gets array of all "condition" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition[] getConditionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition>();
                get_store().find_all_element_users(CONDITION$2, targetList);
                x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition[] result = new x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "condition" element
         */
        public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition getConditionArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition target = null;
                target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition)get_store().find_element_user(CONDITION$2, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "condition" element
         */
        public int sizeOfConditionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(CONDITION$2);
            }
        }
        
        /**
         * Sets array of all "condition" element
         */
        public void setConditionArray(x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition[] conditionArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(conditionArray, CONDITION$2);
            }
        }
        
        /**
         * Sets ith "condition" element
         */
        public void setConditionArray(int i, x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition condition)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition target = null;
                target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition)get_store().find_element_user(CONDITION$2, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(condition);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "condition" element
         */
        public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition insertNewCondition(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition target = null;
                target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition)get_store().insert_element_user(CONDITION$2, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "condition" element
         */
        public x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition addNewCondition()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition target = null;
                target = (x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition)get_store().add_element_user(CONDITION$2);
                return target;
            }
        }
        
        /**
         * Removes the ith "condition" element
         */
        public void removeCondition(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(CONDITION$2, i);
            }
        }
        
        /**
         * Gets a List of "action" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.ActionDocument.Action> getActionList()
        {
            final class ActionList extends java.util.AbstractList<x2.orgJpdl3.jbpm.ActionDocument.Action>
            {
                public x2.orgJpdl3.jbpm.ActionDocument.Action get(int i)
                    { return TransitionImpl.this.getActionArray(i); }
                
                public x2.orgJpdl3.jbpm.ActionDocument.Action set(int i, x2.orgJpdl3.jbpm.ActionDocument.Action o)
                {
                    x2.orgJpdl3.jbpm.ActionDocument.Action old = TransitionImpl.this.getActionArray(i);
                    TransitionImpl.this.setActionArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.ActionDocument.Action o)
                    { TransitionImpl.this.insertNewAction(i).set(o); }
                
                public x2.orgJpdl3.jbpm.ActionDocument.Action remove(int i)
                {
                    x2.orgJpdl3.jbpm.ActionDocument.Action old = TransitionImpl.this.getActionArray(i);
                    TransitionImpl.this.removeAction(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfActionArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new ActionList();
            }
        }
        
        /**
         * Gets array of all "action" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.ActionDocument.Action[] getActionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.ActionDocument.Action> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.ActionDocument.Action>();
                get_store().find_all_element_users(ACTION$4, targetList);
                x2.orgJpdl3.jbpm.ActionDocument.Action[] result = new x2.orgJpdl3.jbpm.ActionDocument.Action[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "action" element
         */
        public x2.orgJpdl3.jbpm.ActionDocument.Action getActionArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ActionDocument.Action target = null;
                target = (x2.orgJpdl3.jbpm.ActionDocument.Action)get_store().find_element_user(ACTION$4, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "action" element
         */
        public int sizeOfActionArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(ACTION$4);
            }
        }
        
        /**
         * Sets array of all "action" element
         */
        public void setActionArray(x2.orgJpdl3.jbpm.ActionDocument.Action[] actionArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(actionArray, ACTION$4);
            }
        }
        
        /**
         * Sets ith "action" element
         */
        public void setActionArray(int i, x2.orgJpdl3.jbpm.ActionDocument.Action action)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ActionDocument.Action target = null;
                target = (x2.orgJpdl3.jbpm.ActionDocument.Action)get_store().find_element_user(ACTION$4, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(action);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "action" element
         */
        public x2.orgJpdl3.jbpm.ActionDocument.Action insertNewAction(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ActionDocument.Action target = null;
                target = (x2.orgJpdl3.jbpm.ActionDocument.Action)get_store().insert_element_user(ACTION$4, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "action" element
         */
        public x2.orgJpdl3.jbpm.ActionDocument.Action addNewAction()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ActionDocument.Action target = null;
                target = (x2.orgJpdl3.jbpm.ActionDocument.Action)get_store().add_element_user(ACTION$4);
                return target;
            }
        }
        
        /**
         * Removes the ith "action" element
         */
        public void removeAction(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(ACTION$4, i);
            }
        }
        
        /**
         * Gets a List of "script" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.ScriptDocument.Script> getScriptList()
        {
            final class ScriptList extends java.util.AbstractList<x2.orgJpdl3.jbpm.ScriptDocument.Script>
            {
                public x2.orgJpdl3.jbpm.ScriptDocument.Script get(int i)
                    { return TransitionImpl.this.getScriptArray(i); }
                
                public x2.orgJpdl3.jbpm.ScriptDocument.Script set(int i, x2.orgJpdl3.jbpm.ScriptDocument.Script o)
                {
                    x2.orgJpdl3.jbpm.ScriptDocument.Script old = TransitionImpl.this.getScriptArray(i);
                    TransitionImpl.this.setScriptArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.ScriptDocument.Script o)
                    { TransitionImpl.this.insertNewScript(i).set(o); }
                
                public x2.orgJpdl3.jbpm.ScriptDocument.Script remove(int i)
                {
                    x2.orgJpdl3.jbpm.ScriptDocument.Script old = TransitionImpl.this.getScriptArray(i);
                    TransitionImpl.this.removeScript(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfScriptArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new ScriptList();
            }
        }
        
        /**
         * Gets array of all "script" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.ScriptDocument.Script[] getScriptArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.ScriptDocument.Script> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.ScriptDocument.Script>();
                get_store().find_all_element_users(SCRIPT$6, targetList);
                x2.orgJpdl3.jbpm.ScriptDocument.Script[] result = new x2.orgJpdl3.jbpm.ScriptDocument.Script[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "script" element
         */
        public x2.orgJpdl3.jbpm.ScriptDocument.Script getScriptArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ScriptDocument.Script target = null;
                target = (x2.orgJpdl3.jbpm.ScriptDocument.Script)get_store().find_element_user(SCRIPT$6, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "script" element
         */
        public int sizeOfScriptArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(SCRIPT$6);
            }
        }
        
        /**
         * Sets array of all "script" element
         */
        public void setScriptArray(x2.orgJpdl3.jbpm.ScriptDocument.Script[] scriptArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(scriptArray, SCRIPT$6);
            }
        }
        
        /**
         * Sets ith "script" element
         */
        public void setScriptArray(int i, x2.orgJpdl3.jbpm.ScriptDocument.Script script)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ScriptDocument.Script target = null;
                target = (x2.orgJpdl3.jbpm.ScriptDocument.Script)get_store().find_element_user(SCRIPT$6, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(script);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "script" element
         */
        public x2.orgJpdl3.jbpm.ScriptDocument.Script insertNewScript(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ScriptDocument.Script target = null;
                target = (x2.orgJpdl3.jbpm.ScriptDocument.Script)get_store().insert_element_user(SCRIPT$6, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "script" element
         */
        public x2.orgJpdl3.jbpm.ScriptDocument.Script addNewScript()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ScriptDocument.Script target = null;
                target = (x2.orgJpdl3.jbpm.ScriptDocument.Script)get_store().add_element_user(SCRIPT$6);
                return target;
            }
        }
        
        /**
         * Removes the ith "script" element
         */
        public void removeScript(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(SCRIPT$6, i);
            }
        }
        
        /**
         * Gets a List of "create-timer" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer> getCreateTimerList()
        {
            final class CreateTimerList extends java.util.AbstractList<x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer>
            {
                public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer get(int i)
                    { return TransitionImpl.this.getCreateTimerArray(i); }
                
                public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer set(int i, x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer o)
                {
                    x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer old = TransitionImpl.this.getCreateTimerArray(i);
                    TransitionImpl.this.setCreateTimerArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer o)
                    { TransitionImpl.this.insertNewCreateTimer(i).set(o); }
                
                public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer remove(int i)
                {
                    x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer old = TransitionImpl.this.getCreateTimerArray(i);
                    TransitionImpl.this.removeCreateTimer(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfCreateTimerArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new CreateTimerList();
            }
        }
        
        /**
         * Gets array of all "create-timer" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer[] getCreateTimerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer>();
                get_store().find_all_element_users(CREATETIMER$8, targetList);
                x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer[] result = new x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "create-timer" element
         */
        public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer getCreateTimerArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer target = null;
                target = (x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer)get_store().find_element_user(CREATETIMER$8, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "create-timer" element
         */
        public int sizeOfCreateTimerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(CREATETIMER$8);
            }
        }
        
        /**
         * Sets array of all "create-timer" element
         */
        public void setCreateTimerArray(x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer[] createTimerArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(createTimerArray, CREATETIMER$8);
            }
        }
        
        /**
         * Sets ith "create-timer" element
         */
        public void setCreateTimerArray(int i, x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer createTimer)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer target = null;
                target = (x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer)get_store().find_element_user(CREATETIMER$8, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(createTimer);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "create-timer" element
         */
        public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer insertNewCreateTimer(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer target = null;
                target = (x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer)get_store().insert_element_user(CREATETIMER$8, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "create-timer" element
         */
        public x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer addNewCreateTimer()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer target = null;
                target = (x2.orgJpdl3.jbpm.CreateTimerDocument.CreateTimer)get_store().add_element_user(CREATETIMER$8);
                return target;
            }
        }
        
        /**
         * Removes the ith "create-timer" element
         */
        public void removeCreateTimer(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(CREATETIMER$8, i);
            }
        }
        
        /**
         * Gets a List of "cancel-timer" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer> getCancelTimerList()
        {
            final class CancelTimerList extends java.util.AbstractList<x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer>
            {
                public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer get(int i)
                    { return TransitionImpl.this.getCancelTimerArray(i); }
                
                public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer set(int i, x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer o)
                {
                    x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer old = TransitionImpl.this.getCancelTimerArray(i);
                    TransitionImpl.this.setCancelTimerArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer o)
                    { TransitionImpl.this.insertNewCancelTimer(i).set(o); }
                
                public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer remove(int i)
                {
                    x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer old = TransitionImpl.this.getCancelTimerArray(i);
                    TransitionImpl.this.removeCancelTimer(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfCancelTimerArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new CancelTimerList();
            }
        }
        
        /**
         * Gets array of all "cancel-timer" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer[] getCancelTimerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer>();
                get_store().find_all_element_users(CANCELTIMER$10, targetList);
                x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer[] result = new x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "cancel-timer" element
         */
        public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer getCancelTimerArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer target = null;
                target = (x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer)get_store().find_element_user(CANCELTIMER$10, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "cancel-timer" element
         */
        public int sizeOfCancelTimerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(CANCELTIMER$10);
            }
        }
        
        /**
         * Sets array of all "cancel-timer" element
         */
        public void setCancelTimerArray(x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer[] cancelTimerArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(cancelTimerArray, CANCELTIMER$10);
            }
        }
        
        /**
         * Sets ith "cancel-timer" element
         */
        public void setCancelTimerArray(int i, x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer cancelTimer)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer target = null;
                target = (x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer)get_store().find_element_user(CANCELTIMER$10, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(cancelTimer);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "cancel-timer" element
         */
        public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer insertNewCancelTimer(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer target = null;
                target = (x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer)get_store().insert_element_user(CANCELTIMER$10, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "cancel-timer" element
         */
        public x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer addNewCancelTimer()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer target = null;
                target = (x2.orgJpdl3.jbpm.CancelTimerDocument.CancelTimer)get_store().add_element_user(CANCELTIMER$10);
                return target;
            }
        }
        
        /**
         * Removes the ith "cancel-timer" element
         */
        public void removeCancelTimer(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(CANCELTIMER$10, i);
            }
        }
        
        /**
         * Gets a List of "mail" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.MailDocument.Mail> getMailList()
        {
            final class MailList extends java.util.AbstractList<x2.orgJpdl3.jbpm.MailDocument.Mail>
            {
                public x2.orgJpdl3.jbpm.MailDocument.Mail get(int i)
                    { return TransitionImpl.this.getMailArray(i); }
                
                public x2.orgJpdl3.jbpm.MailDocument.Mail set(int i, x2.orgJpdl3.jbpm.MailDocument.Mail o)
                {
                    x2.orgJpdl3.jbpm.MailDocument.Mail old = TransitionImpl.this.getMailArray(i);
                    TransitionImpl.this.setMailArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.MailDocument.Mail o)
                    { TransitionImpl.this.insertNewMail(i).set(o); }
                
                public x2.orgJpdl3.jbpm.MailDocument.Mail remove(int i)
                {
                    x2.orgJpdl3.jbpm.MailDocument.Mail old = TransitionImpl.this.getMailArray(i);
                    TransitionImpl.this.removeMail(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfMailArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new MailList();
            }
        }
        
        /**
         * Gets array of all "mail" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.MailDocument.Mail[] getMailArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.MailDocument.Mail> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.MailDocument.Mail>();
                get_store().find_all_element_users(MAIL$12, targetList);
                x2.orgJpdl3.jbpm.MailDocument.Mail[] result = new x2.orgJpdl3.jbpm.MailDocument.Mail[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "mail" element
         */
        public x2.orgJpdl3.jbpm.MailDocument.Mail getMailArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.MailDocument.Mail target = null;
                target = (x2.orgJpdl3.jbpm.MailDocument.Mail)get_store().find_element_user(MAIL$12, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "mail" element
         */
        public int sizeOfMailArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(MAIL$12);
            }
        }
        
        /**
         * Sets array of all "mail" element
         */
        public void setMailArray(x2.orgJpdl3.jbpm.MailDocument.Mail[] mailArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(mailArray, MAIL$12);
            }
        }
        
        /**
         * Sets ith "mail" element
         */
        public void setMailArray(int i, x2.orgJpdl3.jbpm.MailDocument.Mail mail)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.MailDocument.Mail target = null;
                target = (x2.orgJpdl3.jbpm.MailDocument.Mail)get_store().find_element_user(MAIL$12, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(mail);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "mail" element
         */
        public x2.orgJpdl3.jbpm.MailDocument.Mail insertNewMail(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.MailDocument.Mail target = null;
                target = (x2.orgJpdl3.jbpm.MailDocument.Mail)get_store().insert_element_user(MAIL$12, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "mail" element
         */
        public x2.orgJpdl3.jbpm.MailDocument.Mail addNewMail()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.MailDocument.Mail target = null;
                target = (x2.orgJpdl3.jbpm.MailDocument.Mail)get_store().add_element_user(MAIL$12);
                return target;
            }
        }
        
        /**
         * Removes the ith "mail" element
         */
        public void removeMail(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(MAIL$12, i);
            }
        }
        
        /**
         * Gets a List of "exception-handler" elements
         */
        public java.util.List<x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler> getExceptionHandlerList()
        {
            final class ExceptionHandlerList extends java.util.AbstractList<x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler>
            {
                public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler get(int i)
                    { return TransitionImpl.this.getExceptionHandlerArray(i); }
                
                public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler set(int i, x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler o)
                {
                    x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler old = TransitionImpl.this.getExceptionHandlerArray(i);
                    TransitionImpl.this.setExceptionHandlerArray(i, o);
                    return old;
                }
                
                public void add(int i, x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler o)
                    { TransitionImpl.this.insertNewExceptionHandler(i).set(o); }
                
                public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler remove(int i)
                {
                    x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler old = TransitionImpl.this.getExceptionHandlerArray(i);
                    TransitionImpl.this.removeExceptionHandler(i);
                    return old;
                }
                
                public int size()
                    { return TransitionImpl.this.sizeOfExceptionHandlerArray(); }
                
            }
            
            synchronized (monitor())
            {
                check_orphaned();
                return new ExceptionHandlerList();
            }
        }
        
        /**
         * Gets array of all "exception-handler" elements
         * @deprecated
         */
        public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler[] getExceptionHandlerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                java.util.List<x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler> targetList = new java.util.ArrayList<x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler>();
                get_store().find_all_element_users(EXCEPTIONHANDLER$14, targetList);
                x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler[] result = new x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler[targetList.size()];
                targetList.toArray(result);
                return result;
            }
        }
        
        /**
         * Gets ith "exception-handler" element
         */
        public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler getExceptionHandlerArray(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler target = null;
                target = (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler)get_store().find_element_user(EXCEPTIONHANDLER$14, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                return target;
            }
        }
        
        /**
         * Returns number of "exception-handler" element
         */
        public int sizeOfExceptionHandlerArray()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().count_elements(EXCEPTIONHANDLER$14);
            }
        }
        
        /**
         * Sets array of all "exception-handler" element
         */
        public void setExceptionHandlerArray(x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler[] exceptionHandlerArray)
        {
            synchronized (monitor())
            {
                check_orphaned();
                arraySetterHelper(exceptionHandlerArray, EXCEPTIONHANDLER$14);
            }
        }
        
        /**
         * Sets ith "exception-handler" element
         */
        public void setExceptionHandlerArray(int i, x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler exceptionHandler)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler target = null;
                target = (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler)get_store().find_element_user(EXCEPTIONHANDLER$14, i);
                if (target == null)
                {
                    throw new IndexOutOfBoundsException();
                }
                target.set(exceptionHandler);
            }
        }
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "exception-handler" element
         */
        public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler insertNewExceptionHandler(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler target = null;
                target = (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler)get_store().insert_element_user(EXCEPTIONHANDLER$14, i);
                return target;
            }
        }
        
        /**
         * Appends and returns a new empty value (as xml) as the last "exception-handler" element
         */
        public x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler addNewExceptionHandler()
        {
            synchronized (monitor())
            {
                check_orphaned();
                x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler target = null;
                target = (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler)get_store().add_element_user(EXCEPTIONHANDLER$14);
                return target;
            }
        }
        
        /**
         * Removes the ith "exception-handler" element
         */
        public void removeExceptionHandler(int i)
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_element(EXCEPTIONHANDLER$14, i);
            }
        }
        
        /**
         * Gets the "to" attribute
         */
        public java.lang.String getTo()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TO$16);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) the "to" attribute
         */
        public org.apache.xmlbeans.XmlString xgetTo()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(TO$16);
                return target;
            }
        }
        
        /**
         * Sets the "to" attribute
         */
        public void setTo(java.lang.String to)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TO$16);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(TO$16);
                }
                target.setStringValue(to);
            }
        }
        
        /**
         * Sets (as xml) the "to" attribute
         */
        public void xsetTo(org.apache.xmlbeans.XmlString to)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(TO$16);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(TO$16);
                }
                target.set(to);
            }
        }
        
        /**
         * Gets the "name" attribute
         */
        public java.lang.String getName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$18);
                if (target == null)
                {
                    return null;
                }
                return target.getStringValue();
            }
        }
        
        /**
         * Gets (as xml) the "name" attribute
         */
        public org.apache.xmlbeans.XmlString xgetName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$18);
                return target;
            }
        }
        
        /**
         * True if has "name" attribute
         */
        public boolean isSetName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                return get_store().find_attribute_user(NAME$18) != null;
            }
        }
        
        /**
         * Sets the "name" attribute
         */
        public void setName(java.lang.String name)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.SimpleValue target = null;
                target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$18);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(NAME$18);
                }
                target.setStringValue(name);
            }
        }
        
        /**
         * Sets (as xml) the "name" attribute
         */
        public void xsetName(org.apache.xmlbeans.XmlString name)
        {
            synchronized (monitor())
            {
                check_orphaned();
                org.apache.xmlbeans.XmlString target = null;
                target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$18);
                if (target == null)
                {
                    target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(NAME$18);
                }
                target.set(name);
            }
        }
        
        /**
         * Unsets the "name" attribute
         */
        public void unsetName()
        {
            synchronized (monitor())
            {
                check_orphaned();
                get_store().remove_attribute(NAME$18);
            }
        }
        /**
         * An XML condition(@urn:jbpm.org:jpdl-3.2).
         *
         * This is a complex type.
         */
        public static class ConditionImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements x2.orgJpdl3.jbpm.TransitionDocument.Transition.Condition
        {
            private static final long serialVersionUID = 1L;
            
            public ConditionImpl(org.apache.xmlbeans.SchemaType sType)
            {
                super(sType);
            }
            
            private static final javax.xml.namespace.QName EXPRESSION$0 = 
                new javax.xml.namespace.QName("", "expression");
            
            
            /**
             * Gets the "expression" attribute
             */
            public java.lang.String getExpression()
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    org.apache.xmlbeans.SimpleValue target = null;
                    target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EXPRESSION$0);
                    if (target == null)
                    {
                      return null;
                    }
                    return target.getStringValue();
                }
            }
            
            /**
             * Gets (as xml) the "expression" attribute
             */
            public org.apache.xmlbeans.XmlString xgetExpression()
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    org.apache.xmlbeans.XmlString target = null;
                    target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EXPRESSION$0);
                    return target;
                }
            }
            
            /**
             * True if has "expression" attribute
             */
            public boolean isSetExpression()
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    return get_store().find_attribute_user(EXPRESSION$0) != null;
                }
            }
            
            /**
             * Sets the "expression" attribute
             */
            public void setExpression(java.lang.String expression)
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    org.apache.xmlbeans.SimpleValue target = null;
                    target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EXPRESSION$0);
                    if (target == null)
                    {
                      target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(EXPRESSION$0);
                    }
                    target.setStringValue(expression);
                }
            }
            
            /**
             * Sets (as xml) the "expression" attribute
             */
            public void xsetExpression(org.apache.xmlbeans.XmlString expression)
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    org.apache.xmlbeans.XmlString target = null;
                    target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EXPRESSION$0);
                    if (target == null)
                    {
                      target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(EXPRESSION$0);
                    }
                    target.set(expression);
                }
            }
            
            /**
             * Unsets the "expression" attribute
             */
            public void unsetExpression()
            {
                synchronized (monitor())
                {
                    check_orphaned();
                    get_store().remove_attribute(EXPRESSION$0);
                }
            }
        }
    }
}
